Removed processing 0 length EOS frame in advance. BZ: IMINAN-46982 When receiving 0 length frame, ISV will process it in advance. If this frame is an EOS one, all frames remaining in out queue will be freed. So just process 0 length EOS frame as normal one. Fixes: 23916092 Test: netflix, play movies, youtube, test apk Change-Id: If0dac3ad4fdb6a731712aacdab73c1ac6f9ae560 Signed-off-by: Lang Dai <langx.dai@intel.com> Signed-off-by: Austin Hu <austin.hu@intel.com>
diff --git a/ISV/omx/isv_omxcomponent.cpp b/ISV/omx/isv_omxcomponent.cpp index 1f87deb..043da1b 100644 --- a/ISV/omx/isv_omxcomponent.cpp +++ b/ISV/omx/isv_omxcomponent.cpp
@@ -710,7 +710,7 @@ return OMX_ErrorUndefined; } - if(!mVPPEnabled || !mVPPOn || mVPPFlushing || pBuffer->nFilledLen == 0) { + if(!mVPPEnabled || !mVPPOn || mVPPFlushing || (pBuffer->nFilledLen == 0 && !(pBuffer->nFlags & OMX_BUFFERFLAG_EOS))) { ALOGD_IF(ISV_COMPONENT_DEBUG, "%s: FillBufferDone pBuffer %p, timeStamp %.2f ms", __func__, pBuffer, pBuffer->nTimeStamp/1E3); return mpCallBacks->FillBufferDone(&mBaseComponent, pAppData, pBuffer); }